package com.blackrock.das.service;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;

import com.blackrock.das.enums.DataType;
import com.blackrock.das.enums.Resolution;

/**
 * The Interface NavService.
 */
public interface PortfolioService {

    /**
     * Gets the porfolios isin.
     *
     * @return the porfolios isin
     */
    public List<String> getPorfoliosIsin();

    /**
     * Gets the static data.
     *
     * @param isin the isin
     * @return the static data
     */
    public Map<String, Object> getStaticData(String isin);

    /**
     * Gets the time series data.
     *
     * @param isin the isin
     * @param startDate the start date
     * @param endDate the end date
     * @param resolution the resolution
     * @param dataTypes 
     * @return the time series data
     */
    public Map<String, Map<String, BigDecimal>> getTimeSeriesData(String isin, Date startDate, Date endDate, Resolution resolution,
            Set<DataType> dataTypes);

    /**
     * Gets the time series data.
     *
     * @param isin the isin
     * @param startDate the start date
     * @param endDate the end date
     * @param resolution the resolution
     * @return the time series data
     */
    public Map<String, Map<String, BigDecimal>> getTimeSeriesData(String isin, Date startDate, Date endDate, Resolution resolution);

}
